package com.ctshk.rpc.order.airexpress.service;

import com.ctshk.common.dto.Result;
import com.ctshk.rpc.order.airexpress.dto.AirportExpressOrderDownloadDTO;
import com.ctshk.rpc.order.airexpress.dto.AirportExpressOrderETicketGetDTO;
import com.ctshk.rpc.order.airexpress.dto.AirportExpressOrderReceiptGetDTO;
import com.ctshk.rpc.order.airexpress.req.AirportExpressOrderReceiptDownloadReq;
import com.ctshk.rpc.order.airexpress.req.AirportExpressOrderReceiptInformEmailReq;
import com.ctshk.rpc.order.airexpress.req.AirportExpressOrderReceiptSaveReq;

import java.util.List;

/**
 * <p>
 * 机场快线订单收据 服务类
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-03-22
 */
public interface IAirportExpressOrderReceiptService {

    int update(AirportExpressOrderReceiptSaveReq airportExpressOrderReceiptSaveReq, Long userId);

    AirportExpressOrderReceiptGetDTO getReceiptByOrderId(Long orderId);

    List<AirportExpressOrderETicketGetDTO> getETicketByOrderId(Long orderId);

    /**
     * 发送电子票邮件
     *
     * @param orderId
     * @return
     */
    Result sendReceiptByOrderId(Long orderId);

    /**
     * 发送电子票邮件
     *
     * @param orderId
     * @return
     */
    Result sendETicketByOrderId(Long orderId);


    Result sendInformByOrderId(AirportExpressOrderReceiptInformEmailReq airportExpressOrderReceiptInformEmailReq);

    /**
     * 下载文件
     * @param airportExpressOrderReceiptDownloadReq
     * @return
     */
    AirportExpressOrderDownloadDTO download(AirportExpressOrderReceiptDownloadReq airportExpressOrderReceiptDownloadReq);
}
